home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Tech Arsenal 1
/
Tech Arsenal (Arsenal Computer).ISO
/
tek-02
/
prodpack.zip
/
DB4PPSRC.EXE
/
GETCOLOR.PRG
< prev
next >
Wrap
Text File
|
1993-05-04
|
3KB
|
111 lines
*' $Header: $
FUNCTION GetColor
PARAMETERS pn_display
*----------------------------------------------------------------------------
* NAME
* GetColor() -
*
* SYNOPSIS
* GetColor( pn_display )
*
* DESCRIPTION
*
* PARAMETERS
* pn_display = Numeric value representing the color of an object
*
*----------------------------------------------------------------------------
Foreground = 7
Intensity = 8 && Color attributes
Background = 112
MIntensity = 256
Reverse = 512 && Mono attributes
Underline =1024
Blink =2048
default =32768 && Screen set to default
incolor = ""
use_colors = BitWAnd( default, pn_display )
IF use_colors = 0
forgrnd = BitWAnd( Foreground, pn_display )
enhanced = BitWAnd( Intensity, pn_display ) > 0 .OR. ;
BitWAnd( MIntensity, pn_display ) > 0
backgrnd = BitWAnd( Background, pn_display )
blnk = BitWAnd( Blink, pn_display )
underln = BitWAnd( Underline, pn_display )
revrse = BitWAnd( Reverse, pn_display )
backgrnd = IIF( backgrnd > 0, INT( backgrnd / 16 ), backgrnd )
IF .NOT. ( "MONO" $ SET( "DISPLAY" ) )
DO CASE
CASE forgrnd = 0
incolor = "n"
CASE forgrnd = 1
incolor = "b"
CASE forgrnd = 2
incolor = "b"
CASE forgrnd = 3
incolor = "bg"
CASE forgrnd = 4
incolor = "r"
CASE forgrnd = 5
incolor = "rb"
CASE forgrnd = 6
incolor = "gr"
CASE forgrnd = 7
incolor = "w"
ENDCASE
ELSE
incolor = "w"
ENDIF
IF revrse > 0
incolor = incolor + "i"
ENDIF
IF underln > 0
incolor = incolor + "u"
ENDIF
IF enhanced
incolor = incolor + "+"
ENDIF
IF blnk > 0
incolor = incolor + "*"
ENDIF
incolor = incolor + "/"
IF .NOT. ( "MONO" $ SET( "DISPLAY" ) )
DO CASE
CASE backgrnd = 0
incolor = incolor + "n"
CASE backgrnd = 1
incolor = incolor + "b"
CASE backgrnd = 2
incolor = incolor + "b"
CASE backgrnd = 3
incolor = incolor + "bg"
CASE backgrnd = 4
incolor = incolor + "r"
CASE backgrnd = 5
incolor = incolor + "rb"
CASE backgrnd = 6
incolor = incolor + "gr"
CASE backgrnd = 7
incolor = incolor + "w"
ENDCASE
ELSE
incolor = incolor + "n"
ENDIF
ENDIF
RETURN( incolor )
*-- EOF: GetColor( pn_display )
*'----------------------------------------------------------------------------
*' $Log: $
*'----------------------------------------------------------------------------